/**
 * 封装 axios 请求模块
 */
import axios from "axios"
import store from '@/store'
// https://java.yuanfuda933.com/prod-api/ 正式地址
// http://39.101.197.38:8080 测试地址
// http://39.103.177.253:8080 更新测试版
const java = axios.create({
    baseURL: 'https://java.yuanfuda933.com/prod-api' // 基础路径
})

/** 
 * 请求拦截器 
 * 每次请求前，如果存在token则在请求头中携带token 
 */
// java.interceptors.request.use(
//   config => {
//     const { gettoken } = store.state
//     if (gettoken) {
//       config.headers = {
//         version: gettoken.version,
//         token: gettoken.token,
//         did: gettoken.did,
//         type: gettoken.type,
//         sign: gettoken.sign,
//         time: gettoken.time,
//         model: gettoken.model,
//       }
//     }
//     return config;
//   },
//   error => Promise.error(error))

// // 响应拦截器
// java.interceptors.response.use(
//   // 请求成功
//   res => res.status === 200 ? Promise.resolve(res) : Promise.reject(res),
//   // 请求失败
//   error => {
//     const {
//       response
//     } = error;
//     if (response) {
//       // 请求已发出，但是不在2xx的范围 
//       errorHandle(response.status, response.data.message);
//       return Promise.reject(response);
//     } else {
//       // 处理断网的情况
//       // eg:请求超时或断网时，更新state的network状态
//       // network状态在app.vue中控制着一个全局的断网提示组件的显示隐藏
//       if (!window.navigator.onLine) {
//         store.commit('changeNetwork', false);
//       } else {
//         return Promise.reject(error);
//       }
//     }
//   });

// 请求拦截器
// java.interceptors.request.use(config => {
//   const { gettoken } = store.state
//   // console.log(gettoken);
//   if (gettoken) {
//     config.headers = {
//       version: gettoken.version,
//       token: gettoken.token,
//       did: gettoken.did,
//       type: gettoken.type,
//       sign: gettoken.sign,
//       time: gettoken.time,
//       model: gettoken.model,
//     }
//   }
//   // 在最后必须 return config
//   return config
// })
export default java